Labeling a video, for modifying a video, and for video processing

ABSTRACT

A computer program product for processing a video having a plurality of objects is provided. The computer program product includes a computer readable storage medium having computer readable program code embodied therewith. The computer readable program code is configured for labeling at least one object among the plurality of objects with a property selected from the group consisting of: whether the object can be modified; whether the object can be replaced; and at least one of: name, color, size, and content. The computer readable program code is configured for replacing the at least one object with another object having a property matching therewith if the object has been labeled as one that can be replaced. The computer readable program code is configured for modifying the at least one object to obtain a new object if the object has been labeled as one that can be modified.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. patent application Ser. No.12/235,983, filed Sep. 23, 2008, now U.S. Pat. No. 8,213,724, whichclaims priority under 35 U.S.C. §119 to Chinese Patent Application No.200710162206.4 filed Sep. 30, 2007, both of which are incorporated byreference herein in their entirety.

FIELD OF THE INVENTION

The present application relates to video processing, particularly to acomputer program product for processing a video.

BACKGROUND

It is an obvious trend that online video plays a more and more importantrole on the web. For example, videos occupy nearly 62% of the bandwidthof P2P websites. Meanwhile, video share platforms based on usergenerated contents, such as Youtube, are blooming now. With the boomingof the online contents, now the users have much more choices than beforeto watch videos. Long Tail Theory is also applicable in the shift fromtraditional broadcast TV to online video watching, from passivelyaccepting content to actively pulling content from multi channels. Inthis circumstance, advertiser pushing ads to the user in golden time orhot topic on TV will not work effectively because the user can choosewhich video content to pull now.

As to video advertising, it is not just simply a switch to a new onlineplatform because the web is an interactive platform and can support somefunctions which TV platforms cannot, such as search. As such, somethingreally new and big can breakout in the shift. American AdvertisingFederation (AAF)'s study in 2006 also shows that the leading adexecutives of 500 top companies expect a significant portion ofbroadcast and cable TV ad dollars to shift to online video by 2010, with33 percent of respondents predicting that the switch will be between 10and 19 percent. In addition, 2007 budgets for online advertising areexpected to rise by an average of 42 percent over 2006. Moreover, if theonline video technology and model matures, it can also attract adfunding from other online ad forms, such as banner ads and literal linkads.

There are huge opportunities for online video advertisement; however,current ads models for online video have their limitations. Severaltypes of advertising models can be found in the online video market.Usually, we can see video ads in top, bottom or side of a webpage.Apparently, the ads can have little relation with the page's content.Second, for a video platform like Youtube, video ads can be classifiedand made as a special channel. Users rarely click these adsintentionally. Thirdly, some people suggest that ads can be added in thehead, tail or middle of a normal video, but it degrades the userexperience and user can skip them. Finally, we can see thatAdsense/Adwords combined with Youtube can bring out a new way for doingadvertising. This means that each registered Youtube user can be anAdsense/Adwords user when a user uploads clips and then these clips areautomatically linked with relevant ads. However, these relevant ads arestill in character forms.

In the age of the Long Tail Theory, we consider Google's Adsense/Adwordsto be a classic application to realize this theory in character form.Naturally, there exists a need for an ads application in the video form.If ads could be injected into video clips, then the ads will be watchedby the end-user uninterrupted. This has multiple benefits: the end userscan NOT bypass the ads when watching video; the ads are lively in thevideo contents which will get more focus and impression from the endusers.

SUMMARY

Accordingly, the present invention provides a computer program productfor processing a video having a plurality of objects. The computerprogram product includes a computer readable storage medium havingcomputer readable program code embodied therewith. The computer readableprogram code is configured for labeling at least one object among theplurality of objects with a property selected from the group consistingof: whether the object can be modified; whether the object can bereplaced; and at least one of: name, color, size, and content. Thecomputer readable program code is configured for replacing the at leastone object with another object having a property matching therewith ifthe object has been labeled as one that can be replaced. The computerreadable program code is configured for modifying the at least oneobject to obtain a new object if the object has been labeled as one thatcan be modified.

In another aspect, the invention provides a computer program product formodifying a video. At least one object in the video has been labeledwith properties of the object. The computer program product includes acomputer readable storage medium having computer readable program codeembodied therewith. The computer readable program code is configured forreplacing the at least one object with a replacement object having aproperty matching therewith if the object has been labeled as one thatcan be replaced. The computer readable program code is configured formodifying the at least one object if the object has been labeled as onethat can be modified. The computer readable program code is configuredfor searching the video for object labeled with at least one of: can bereplaced and/or can be modified; and if the size and/or the color of thenew replacement object do not match those of the object labeled as onethat can be replaced in the video, modifying the size or color of thenew replacement object so as to match the object labeled as one that canbe replaced in the video.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

The invention will be described in details with reference to theaccompanying drawing, wherein:

FIG. 1 is schematic view of the configuration of a flash movie;

FIG. 2 is a schematic view of an apparatus for labeling a videoaccording to one embodiment of the invention;

FIG. 3 is a schematic view of an apparatus for modifying a videoaccording to one embodiment of the invention;

FIG. 4 is a schematic view of an advertising method according to oneembodiment of the invention; and

FIG. 5 is a schematic view of an advertising method according to anotherembodiment of the invention.

DETAILED DESCRIPTION

Preferred embodiments of the invention will be described below withreference to the accompanying drawings.

The basic idea of the present invention includes a preliminary step inwhich an object that could be modified as an ad or could be replaced byan ad in a video is labeled. Then, in an application step, the labeledobject is modified as or replaced by wanted ads.

In one embodiment, the format of a flash video file, which is a .SWFfile is analyzed.

The SWF file includes a heap of tags. If the author wants his/her flashto have the advertising capability, the author can add some propertiesto the original SWF file. Such properties include the semantic topic ofthe whole flash video, what objects in the flash can be replaced, ashort description of them, etc. Then we can get a .SWF ad file. Based onthe labeling, one can modify the video by modifying a labeled objecttherein as or replacing it with an advertising object. Thus, when an enduser watches the modified video, the ads will be perceived by the enduser uninterrupted.

A SWF file includes many blocks.

FIG. 1 illustrates the structure. As shown in FIG. 1, a SWF fileincludes of a header, a series of tagged data blocks following theheader and an end tag.

Following the header are a series of tagged data blocks. All tags sharea common format. Data inside the block can point to other data withinthe block, but can never point to the data in another block. This meansthe blocks are independent from each other and enables tags to beremoved, inserted, or modified.

There are two categories of tags in Macromedia Flash (SWF):

A definition tag is used to define the content of the Macromedia Flash(SWF) movie: the shapes, text, bitmaps and sounds that are used in themovie. In other words, a definition tag defines an object in a flashmovie. Each definition tag assigns a unique ID to the content (object)it defines. The player then stores the IDs in a repository called thedictionary. In the following, both the content defined by a definitiontag and the content plus the definition tag (that is, tagged data block)can be referred to as an object.

Control Tags are used to manipulate IDs in the dictionary, and controlthe flow of the movie. For example, control tags can be used to placeobjects represented by IDs on the screen, start sounds, and to tell theplayer to go to another frame in the movie, and etc.

Apparatus and Method for Labeling a Video and Video Searching Method

According to one aspect of the invention, it is proposed to label anobject of interest or all the objects in a flash movie so as tofacilitate searching, replacing and/or modifying an object of interestin the flash movie.

According to the aspect, marker tags are used to wrap an object ofinterest defined by SWF definition tags, indicating whether the objectcan be modified or replaced. As examples, modification of the objectincludes adding contents (such as logos of a business) into the object,replacing the contents in the object with new contents, and etc. Themarker tags can also support some properties for facilitating saidmodification.

In a preferred embodiment, three types of marker tags can be defined,including topic tag, background tag and object tag. The explanation ofthese tags is shown in Table 1 below:

TABLE 1 Type Property Usage Topic Tag author, date (creating date, Keepthe flash movie's modifying date, etc.), type . . . information; anddeclare whether the video can be modified Background name, color, width,height, Declare whether the object Tag content . . . can be modifiedObject Tag name, color, width, height, Declare whether the objectcontent . . . can be replaced with another object

According to Table 1, a background tag can be used to label an object ofinterest to declare whether the object can be modified, and can containinformation about the name, color, width, height, content, and etc. ofthe object as its properties.

An object tag can be used to label an object of interest to declarewhether the object can be replaced with another object, and can containinformation about the name, color, width, height, content, and etc. ofthe object as its properties.

The names of properties are self-explanatory, except content. Thecontent property contains the original tag. When searching, modifyingand/or replacing an object of interest, the information of the originaltag can be used to do the work more accurately.

Based on background tags and/or object tags, objects in one video or aplurality of videos can be searched for at least one object of interest.The search is made based on the properties of the background tags and/orobject tags. For example, a user can search for objects having a name ofinterest, or having a certain size (width and/or height), or havingcontents of interest. The objects searched out can be modified (such asadded with other contents) or replaced depending on the type of themarker tag (background tag or object tag) and the needs of the user.

As a further more preferred embodiment, topic tags can be used to keepthe video's information such as the author, the creating/modifying dateand its type, etc, and can be also used to indicate whether the videocan be modified. The topic tag can further facilitate the user'soperations discussed above. For example, a user can be only interestedin objects in videos of certain types, or of certain authors, of after acertain date. In such a condition, the topic tags can reduce theworkload for searching. Apparently, using the properties contained inthe topic tags, one can search a video of interest in a plurality ofvideos.

In the above method for labeling a video, the embodiment furtherprovides an apparatus for labeling a video, to support the author to addproperties to .SWF in an easy way. Its implementation can be based onthe open format of SWG file. The input is the SWF file in binary. Toease your understanding, we use XML-like format for illustration. Theoutput is the modified SWF ad file.

For purpose of illustration, we use a black-framed red square objecthaving a width of 80 as an object to be labeled. Its normally definedshape tag is as follows:

<DefineShape id=“1”> <FillStyleArray> <SolidFillStyle color=“#FF0000”/></FillStyleArray> <LineStyleArray> <LineStyle width=“80”color=“#000000”/> </LineStyleArray> <StyleChange lineStyle=“1”fillStyle0=“1”> <MoveTo x=“100” y=“1100”/> </StyleChange> <StraightEdgedx=“ 1000” dy=“0”/> <StraightEdge dx=“0” dy=“−1000”/> <StraightEdgedx=“−1000” dy=“ 0”/> <StraightEdge dx=“0” dy=“ 1000”/> </DefineShape>

Here, the user wants to label the object as being capable of beingmodified. Then, the apparatus of the embodiment can enable the user toadd properties to the object and get the output SWF ad file as below,letters in italic bold face are the new properties added by theapparatus.

<obj_ads id=“1” name=“square”, color=“blue”, width=“20”, height=“50”><content> <DefineShape id=“1”> <FillStyleArray> <SolidFillStylecolor=“#FF0000”/> </FillStyleArray> <LineStyleArray> <LineStylewidth=“80” color=“#000000”/> </LineStyleArray>  <StyleChangelineStyle=“1” fillStyle0=“1”> <MoveTo x=“100” y=“1100”/>  </StyleChange><StraightEdge dx=“ 1000” dy=“0”/> <StraightEdge dx=“ 0” dy=“−1000”/><StraightEdge dx=“−1000” dy=“0”/> <StraightEdge dx=“ 0” dy=“ 1000”/></DefineShape> </content> </obj_ads>

From above, it can be seen that the apparatus 200 (FIG. 2) for labelinga video can be any editor capable of editing the flash file.Specifically, the labeling operation can be implemented by firstlabeling means 204 composing labeling sentences in the flash file tolabel an object of interest with its properties. As further examples,such labeling means can include tool buttons on the graphic userinterface (GUI) and inputting means such as a keyboard, a mouse, or thelike.

Specifically, the first labeling means 204 can be configured to label anobject as being replaceable or modifiable. As mentioned above, theproperties that can be labeled on an object can also include name,color, size, content, etc., of the object.

Also, a second labeling means 206 can be provided for labeling theentire flash file with its properties, which can include the author,type, creating date, modifying date and information about whether thevideo can be modified. These properties of the video can reflect thesubjects such as sport, health exercise, leisure or entertainment, foodand drink, in particular such as basketball, football etc.

Apparatus and Method for Modifying a Video

According to another aspect of the invention, an apparatus and a methodare provided for modifying a video subjecting labeling with theapparatus and method for labeling a video.

According to the method, a labeled object in a labeled video can bereplaced by another object, or can be modified, such as being providedwith new contents.

Still taking the above mentioned red square as an example, if it islabeled as mentioned above, then judge whether the size and color of thenew replacement object (e.g. new blue square object) match those of thereplaceable red square object in the video: if the size and/or color ofthe new replacement object do not match those of the replaceable redsquare object in the video, then modify the size and/or color of the newreplacement object using an existing technology, so as to have them tomatch those of the replaceable object in the video; if the size andcolor of the new replacement object match those of the replaceable redsquare object in the video, then replace the red square object with e.g.the new blue square object. It can be noticed that the codes<SolidFillStyle color=“#FF0000”/> in the original file are replaced by<SolidFillStyle color=“#0000FF”/> in the output file.

<DefineShape id=“1”> <FillStyleArray> <SolidFillStyle color=“#0000FF”/></FillStyleArray> <LineStyleArray> <LineStyle width=“80”color=“#000000”/> </LineStyleArray> <StyleChange lineStyle=“1”fillStyle0=“1” fillStyle1=“2”> <MoveTo x=“100” y=“1100”/> </StyleChange><StraightEdge dx=“ 1000” dy=“ 0”/> <StraightEdge dx=“ 0” dy=“−1000”/><StraightEdge dx=“−1000” dy=“ 0”/> <StraightEdge dx=“ 0” dy=“ 1000”/></DefineShape>

As an alternative, words such as a logo of a business can be written inthe original red square as a modification to the original object.

The replacement and/or modification can be implemented manually bybrowsing the labeled video file and replacing an object when the userfinds that the object has been labeled as replaceable or modifying theobject when the user finds that the object has been labeled asmodifiable. Alternatively, the user can, using the properties labeled onthe objects, search the labeled video file for an object of interest,for example, an object of predetermined color, size and/or shape, andetc., and replace the hit object(s) with desired new object(s) or modifythem appropriately. In a case where one or more video files themselvesare labeled, as mentioned above, the user can search more than one videofile for desired labeled object(s), taking the information in the topictag for labeling the video into account.

In the above method for modifying a video, the present embodimentfurther provides an apparatus for modifying a video as shown in FIG. 3,to support the author to replace and/or modify an object in a .SWF filein an easy way. Its implementation can be based on the open format of aSWF file. The input is labeled a SWF file with the properties listed initalic bold face as discussed above, and the output is modified normalflash file with an object therein modified and/or replaced.

Similarly, from above, it could be seen that the apparatus 300 formodifying a video can be any editor capable of editing the flash file.Specifically, the modifying operation can be implemented by composingthe labeled codes in the flash file to replace and/or modify a labeledobject of interest. As further examples, such composing means caninclude tool buttons on the graphic user interface (GUI) and inputtingmeans such as a keyboard, a mouse, or the like.

Specifically, the modifying apparatus 300 can include replacing means304 for replacing codes representing the labeled object with codesrepresenting a new object, and modifying means 306 for modifying thecodes representing the labeled object to change the contents of or addnew contents to the object. Also, it can be imagined that the replacingmeans 304 and the modifying means 306 can be embodied as correspondingbuttons on the GUI.

If, as discussed above, the replacement and/or modification isimplemented manually, then it suffices that the apparatus 300 includesreplacing means 304 and/or modifying means 306. In a case where morethan one object is labeled in a video, and/or in a case where more thanone video is labeled, the apparatus 300 can further includes searchingmeans 302 for searching the labeled video file(s) for labeled object(s)of interest and replace the hit object(s) with desired new object(s) ormodify them appropriately.

It can be seen that to modify a video with the present apparatus ormethod, the video to be modified should be a video labeled with theabove-mentioned apparatus or method for labeling a video. Nevertheless,the apparatus or method for modifying a video and the apparatus ormethod for labeling a video can be implemented either separately or incombination. It is possible that some users, such as an author of avideo, can label the video with the apparatus or method for labeling avideo, but they need not to modify the video. For instance, they maysell the labeled videos to an advertiser or platform provider, and it isthe advertiser or platform provider who modifies the labeled video byreplacing the labeled object with new one or modifying the object byadding new contents there into.

Furthermore, as will be discussed below, the new object or the modifiedobject can be an interactive object or an object with interactivecontent.

Advertising Method

Based on above discussed apparatus or method for labeling a video andapparatus or method for modifying a video, the present application alsoproposes a brand new model for video ads, that is the video processingmethod, by which the users watching the content video will watch the adsuninterrupted at the same time.

According to one preferred embodiment of the method, as shown in FIG. 4,an author 401 can edit a flash video with an object therein labeled.Imaginably, there can be such a case where one author edits a flashvideo (Step 410), while another author labels the video with theabove-discussed apparatus or method for labeling a video (Step 412). Thelabeled video 414 can be then provided to a platform provider 402 (Step416), where more than one video of more than one author can be collected(Step 418), thereby creating a video database, in which each video canbe classified according to the video subject or each video can belabeled with its property in advance, the properties including itsauthor, type, creating date, modifying date and information aboutwhether the video can be modified and these properties of the video canreflect the subjects such as sport, health exercise, leisure orentertainment, food and drink, in particular such as basketball,football etc. Then, the labeled videos 420 can be searched based on thesubject of interest of the advertiser in the video database (if thereare more than one video and/or the video contains more than one labeledobject); and after determining the video having a marching subject, saidvideo can be modified with advertising objects according to theadvertiser's requirements 428 (Step 422) or by the advertiser 403 itself(not shown). Finally, any end user 404 watching the modified videos 424on the platform will watch the embedded ads uninterrupted (Step 426).

In the technical solution for replacing a replaceable object in thevideo of interest with an advertising object (i.e. a new replacementobject) provided by an advertiser, after an advertiser provides anadvertising object, searching the database for a video having thesubject marching the subject related to the advertising object, and thendetermining, in the video as searched out and having the matchingsubject, a replaceable object having its property matching the propertyof the advertising object. In particular, the way for determining asabove includes: judging whether the size and color of the advertisingobject match those of the replaceable object in the video; if the sizeand color of the new replacement object do not match those of thereplaceable object in the video, then modify the size and/or color ofthe advertising object using an existing technology so as to match thoseof the replaceable object in the video.

A corresponding video processing apparatus is provided for replacing areplaceable object in a video with a new replacement object, including:video providing means for providing a video including a plurality ofobjects, wherein at least one object is labeled with at least one of thefollowing properties: whether the object is replaceable; and at leastone of the name, color, size and content of the object; object providingmeans for providing a new replacement object; searching means forsearching the objects of the video for object of interest based onproperty of the new replacement object, the property of the newreplacement object including at least one of the name, color, size andcontent of the new replacement object; determining means for determininga replaceable object in the video having a property matching that of thenew replacement object; and replacing means for replacing thereplaceable object as determined with the new replacement object.

According to the method, a lot of user generated .SWF ad files can beuploaded to the SWF ad repository of the platform provider 402. Then theplatform provider 402 can negotiate with advertiser 403 on which typesof flash the advertiser want to do ads, and design a charge policytogether. Next, by using the advertising objects provided by theadvertiser, the platform provider can inject the ads into the video bythe help of above discussed apparatus and method for modifying a video.At this time, the advertisements on the flash have been completed.Preferably, the modified video can be provided to the author for reviewand gain some feedback and/or get the rights to use them (as shown withdashed arrows in FIG. 4).

According to the method, three parties including the authors, theplatform provider and the advertiser can cooperate effectively and allsides get the benefit. By embedding the relevant ads inside the videos,the ads are watched by the end-user uninterrupted because the ads areabsorbed in the content of the video. This has multiple benefits: theend users can NOT bypass the ads when watching video; the ads are livelyin the video contents which will get more focus and impression from theend users; and at the same time, it is more comfortable to the end user,who does not need to spend extra time for ads while watching wantedvideo. Last but not least, it utilize the power of user to generatecontents and the advertiser can use the existed user generated videos,greatly releasing the advertiser from putting money on making impressingads video.

As shown in FIG. 5, the author can provide the labeled video directly tothe advertiser (Step 502), who can modify the video with ads object(Step 504) and distributes the modified videos 424 with adds embedded(including but not limited to putting modified videos on a platformowned by a platform provider) (Step 506). In such a case, the author andthe advertiser can interact with each other through any platform orintermediate, and the modified videos can be distributed through anymeans as long as the end users can watch the videos.

As to the profit model, advertisers pay the money to platform providerand author based on the factors below:

how many and how important the tags the advertiser has chosen to do adson the videos are;

which ads are visited how many times by end users;

the effect of an ads in an video, such as how many seconds the ads playin the video, its size, and etc. platform provider can support a tool toestimate this effect in an quantitative way;

if the user click a clickable object in the flash and then link to theadvertiser's website, the click amount will be charge in a higher way.Correspondingly, the ads object can be designed as an interactiveobject, and when user wanted, he can click on the ads object appearingin the video to link to relevant website.

Other Embodiments

The invention also can be applied to MPEG-4 videos. Because media objectis the core concept of MPEG-4 specification and MPEG-4 video supportsthe object orientation, the objects of MPEG-4 video are classified into3 kinds: a. Still images (e.g. static background) b. Video objects (e.g.a talking person, a moving cell phone) c. Audio objects (e.g. the voiceassociated with a person, background music), all of which arerecognizable. Thus if the MPEG-4 be realized perfectly, the inventioncan also be used by labeling, modifying and/or searching the objects ina MPEG-4 video, so as to employ the present invention in MPEG-4 stream.Because the MPEG-4's market size should be much larger than the flashvideo, the invention can work more effectively.

A person skilled in the art can understand that any or all of thesteps/components of the method and apparatus according to the inventioncan be implemented in form of hardware, firmware, software of anycombination thereof in any computing equipment (including a processorand storing media and etc.) or any network of computing equipments, andcould be realized by the basic programming skills of any person skilledin the art having read the description of the invention, and moredetailed description is omitted here.

Furthermore, in the above description, when concerning operations suchas labeling, replacing and so on, it is obviously necessary to use adisplay device and an input device connected to a computing equipment,corresponding interfaces and controller software. In a word, relevanthardware and software in a computer, a computer system or a computernetwork, along with hardware, firmware or software implementing theoperations in the method of the invention described above, or anycombination thereof, constitute the apparatus of the invention andcomponents thereof.

Therefore, based on above understanding, the object of the invention canalso be achieved by one application or one group of applications runningon any information processing equipment, which can be a well-knownexisting technology. Therefore, the object of the invention can also beachieved by simply providing a program product including program codescapable of realizing the method or apparatus as described above. That isto say, such a program product constitutes the invention, and anystoring media with such a program product stored therein alsoconstitutes the invention. Obviously, said storing medium can be anywell-known storing medium, and therefore it is unnecessary to list allthe storing media here.

In the method and apparatus according to the invention, the component orsteps can be decomposed and/or re-combined. The decomposition and/orrecombination shall be regarded as equivalents of the invention.

Preferred embodiments according to the invention have been describedabove. A person skilled in the art will understand that the protectionscope of the invention is not limited to the specific details disclosedherein, which can have various variations and equivalents within thespirit of the invention.

What is claimed is:
 1. A computer program product for processing a videohaving a plurality of objects, the computer program product comprising:a non-transitory computer readable storage medium having computerreadable program code embodied therewith, said computer readable programcode comprising: computer readable program code configured for labelingat least one object among said plurality of objects with a propertyselected from the group consisting of: whether said object can bemodified; whether said object can be replaced; and at least one of:name, color, size, and content; computer readable program codeconfigured for replacing said at least one object with another objecthaving a property matching therewith if said object has been labeled asone that can be replaced; and computer readable program code configuredfor modifying said at least one object to obtain a new object if saidobject has been labeled as one that can be modified.
 2. The computerprogram product of claim 1, wherein said another object or said newobject is selected from the group consisting of an advertisement objectand an interactive object.
 3. The computer program product of claim 1,further comprising: computer readable program code configured forsearching said video for an object of interest having said propertieslabeled on said at least one of said objects after labeling said object.4. The computer program product of claim 1, further comprising: computerreadable program code configured for labeling said video itself withsaid properties, so as to be able to search said video using saidproperties labeled on said video after labeling said object.
 5. Thecomputer program product of claim 4, wherein labeling said video itselfwith said properties comprises: computer readable program codeconfigured for labeling said video with at least one of: an author,type, creating date, modifying date, and information about whether saidvideo can be modified.
 6. A computer program product for modifying avideo, wherein at least one object in the video has been labeled withproperties of the object, the computer program product comprising: anon-transitory computer readable storage medium having computer readableprogram code embodied therewith, said computer readable program codecomprising: computer readable program code configured for replacing saidat least one object with a replacement object having a property matchingtherewith if said object has been labeled as one that can be replaced;computer readable program code configured for modifying said at leastone object if said object has been labeled as one that can be modified;computer readable program code configured for searching said video forobject labeled with at least one of: can be replaced and/or can bemodified; and if the size and/or the color of said new replacementobject do not match those of said object labeled as one that can bereplaced in said video, modifying the size or color of said newreplacement object so as to match said object labeled as one that can bereplaced in said video.
 7. The computer program product of claim 6,comprising computer readable program code configured for judging whetherthe size and/or color of said new replacement object match those of saidobject labeled as can be replaced in said video before the replacingsaid at least one object.
 8. The computer program product of claim 6,wherein said video has been labeled with said properties, and whereinsearching said video further comprises: computer readable program codefor searching for said video among at least two videos using saidproperties labeled on said at least two videos.
 9. The computer programproduct of claim 6, wherein said replacement object is an interactiveobject or said at least one object is modified to become an interactiveobject or become an object with interactive content.
 10. A computerprogram product for processing a video, the computer program productcomprising: a non-transitory computer readable storage medium havingcomputer readable program code embodied therewith, said computerreadable program code comprising: computer readable program codeconfigured for providing a video having a plurality of objects, whereinat least one object is labeled with a property selected from the groupconsisting of: whether said object is replaceable and at least one of:name, color, size and content of said object; computer readable programcode configured for providing a new replacement object; computerreadable program code configured for searching said objects of saidvideo for an object of interest based on a plurality of properties ofsaid new replacement object, wherein said properties of said newreplacement object includes at least one of: name, color, size andcontent of said new replacement object; computer readable program codeconfigured for determining said replaceable object in said video havingat least one of said properties matching that of said new replacementobject; and computer readable program code configured for replacing saidreplaceable object as determined with said new replacement object. 11.The computer program product of claim 10, wherein said computer readableprogram code configured for providing a video having a plurality ofobjects comprises: computer readable program code configured forproviding a database of a plurality of videos, each video being labeledas or classified as some certain subjects; computer readable programcode configured for after said step of providing a new replacementobject, searching said database for a video having a subject matchingthat of said new replacement object, based on the subject related tosaid new replacement object; and thereafter searching said video assearched for an object having a matching property based on property ofthe new replacement object.
 12. The computer program product of claim10, wherein said step of determining a replaceable object having aproperty matching that of said new replacement object, comprising:computer readable program code configured for judging whether the sizeand/or color of said new replacement object match those of saidreplaceable object in said video, wherein if the size and/or color ofsaid new replacement object does not match those of said replaceableobject in said video, then modifying the size and/or color of said newreplacement object so as to match those of said replaceable object.